home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / intr.arc / INTR.LST < prev    next >
Encoding:
File List  |  1986-08-30  |  4.9 KB  |  157 lines

  1.  Microsoft MACRO Assembler  Version 3.00                   Page    1-1
  2.                                        08-30-86    
  3.  
  4.  
  5. 1     0000                   DATA         SEGMENT PUBLIC 'DATA'
  6.                              
  7. 2                                            
  8.                               ; PUBLIC AND EXTERN DATA
  9. 3                                            
  10.                               ; DECLORATIONS GO HERE
  11. 4     0000                   DATA         ENDS
  12. 5                        DGROUP         GROUP DATA
  13. 6                                  ASSUME CS: INTRS , DS :
  14.                     DGROUP , SS : DGROUP
  15. 7                        
  16. 8     0000                   INTRS         SEGMENT 'CODE'
  17. 9                        PUBLIC         INTR
  18. 10     0000                   INTR         PROC FAR
  19. 11     0000  55                        PUSH    BP    
  20.                                    ; SAVE OLD FRAME POINTE
  21.                    R
  22. 12     0001  8B EC                        MOV    BP,SP    
  23.                                    ; GET FRAME POINTER
  24. 13     0003  1E                        PUSH    DS    
  25.                                    ; SAVE DATA SEG REG
  26. 14     0004  0E                        PUSH    CS
  27. 15     0005  1F                        POP    DS    
  28.                                    ; MAKE THIS CODE ADDRES
  29.                    SABLE
  30. 16     0006  8B 46 0A                        MOV    AX,10[BP]
  31.                                   ; GET INTERUPT VALUE
  32. 17     0009  BE 0048 R                   MOV    SI,OFFSET CS:IN
  33.                    T_INS+1         ; SET INTERUPT INSTRUCTION
  34. 18     000C  2E: 88 04                   MOV    CS:[SI],AL
  35. 19     000F  8B 76 06                        MOV    SI,6[BP]
  36.                                   ; GET REG PACK OFFSET
  37. 20     0012  8B 46 08                        MOV    AX,8[BP]
  38.                                   ; GET REG PACK SEGMENT
  39. 21     0015  8E D8                        MOV    DS,AX    
  40.                                    ; MAKE REG PACK ADDRESS
  41.                    ABLE
  42. 22     0017  2E: A3 0082 R                   MOV    CS:REG_PACK_DS,
  43.                    AX              ; SAVE REG PACK SEG
  44. 23     001B  2E: 89 36 0084 R                   MOV    CS:REG_PACK_OFF
  45.                    ,SI              ; SAVE REG PACK OFFSET
  46. 24                        ;------------------- PUSH USER REGS ---
  47.                    ---------------------------
  48. 25     0020  FF 74 12                        PUSH    12H[SI]
  49. 26     0023  FF 74 10                        PUSH    10H[SI]
  50. 27     0026  FF 74 0E                        PUSH    0EH[SI]
  51. 28     0029  FF 74 0C                        PUSH    0CH[SI]
  52. 29     002C  FF 74 0A                        PUSH    0AH[SI]
  53. 30     002F  FF 74 08                        PUSH    08H[SI]
  54. 31     0032  FF 74 06                        PUSH    06H[SI]
  55. 32     0035  FF 74 04                        PUSH    04H[SI]
  56. 33     0038  FF 74 02                        PUSH    02H[SI]
  57. 34     003B  FF 34                        PUSH    [SI]
  58. 35                        ;----------------- APPLICATION --------
  59.  Microsoft MACRO Assembler  Version 3.00                   Page    1-2
  60.                                        08-30-86    
  61.  
  62.  
  63.                    --------------------------------
  64. 36                        ;  SET UP REGISTERS AS REQUIRED FOR INT
  65.                    ERUPT INSTRUCTION
  66. 37     003D  58                        POP    AX
  67. 38     003E  5B                        POP    BX
  68. 39     003F  59                        POP    CX
  69. 40     0040  5A                        POP    DX
  70. 41     0041  5D                        POP    BP
  71. 42     0042  5E                        POP    SI
  72. 43     0043  5F                        POP    DI
  73. 44     0044  1F                        POP    DS
  74. 45     0045  07                        POP    ES
  75. 46     0046  9D                        POPF
  76. 47     0047  CD 10              INT_INS:    INT    10H    
  77.                          ; DUMMY INT WILL BE REPLACE WHEN EXECUT
  78.                    ED
  79. 48                        ; SAVE RETURNED REGISTER VALUES
  80. 49     0049  9C                        PUSHF
  81. 50     004A  06                        PUSH    ES
  82. 51     004B  1E                        PUSH    DS
  83. 52     004C  57                        PUSH    DI
  84. 53     004D  56                        PUSH    SI
  85. 54     004E  55                        PUSH    BP
  86. 55     004F  52                        PUSH    DX
  87. 56     0050  51                        PUSH    CX
  88. 57     0051  53                        PUSH    BX
  89. 58     0052  50                        PUSH    AX
  90. 59                        ; POP INTERUPT REGISTERS BACK TO THEIR 
  91.                    HOME
  92. 60     0053  0E                        PUSH    CS
  93. 61     0054  1F                        POP    DS
  94. 62     0055  2E: A1 0082 R                   MOV    AX,CS:REG_PACK_
  95.                    DS         ; SAVE REG PACK SEG
  96. 63     0059  2E: 8B 36 0084 R                   MOV    SI,CS:REG_PACK_
  97.                    OFF         ; SAVE REG PACK OFFSET
  98. 64     005E  8E D8                        MOV    DS,AX    
  99.                               ; MAKE REG PACK ADDRESSABLE AGA
  100.                    IN
  101. 65     0060  8F 04                        POP    [SI]
  102. 66     0062  8F 44 02                        POP    02H[SI]
  103. 67     0065  8F 44 04                        POP    04H[SI]
  104. 68     0068  8F 44 06                        POP    06H[SI]
  105. 69     006B  8F 44 08                        POP    08H[SI]
  106. 70     006E  8F 44 0A                        POP    0AH[SI]
  107. 71     0071  8F 44 0C                        POP    0CH[SI]
  108. 72     0074  8F 44 0E                        POP    0EH[SI]
  109. 73     0077  8F 44 10                        POP    10H[SI]
  110. 74     007A  8F 44 12                        POP    12H[SI]
  111. 75                        ;----------------- END APP ------------
  112.                    --------------------------------
  113. 76     007D  1F                        POP    DS    
  114.                          ; RESTORE OLD DATA SEGMENT
  115. 77     007E  5D                              POP    BP    
  116.                          ; RESTORE BASE POINTER REGISTER
  117.  Microsoft MACRO Assembler  Version 3.00                   Page    1-3
  118.                                        08-30-86    
  119.  
  120.  
  121. 78     007F  CA 0006                        RET    6    
  122.                          ; RETURN POP FOUR BYTES
  123. 79     0082                   INTR         ENDP
  124. 80     0082  ????              REG_PACK_DS    DW ?
  125. 81     0084  ????              REG_PACK_OFF    DW ?
  126. 82     0086                   INTRS         ENDS
  127. 83                                  END
  128.  
  129.  Microsoft MACRO Assembler  Version 3.00                   Page    Symbols
  130.                    -1
  131.                                        08-30-86    
  132.  
  133.  
  134. Segments and Groups:
  135.  
  136.          N a m e              Size    Align    Combine    Class
  137.  
  138. DGROUP . . . . . . . . . . . . .    GROUP
  139.   DATA . . . . . . . . . . . . . .    0000    PARA      PUBLIC    'DATA'
  140. INTRS. . . . . . . . . . . . . .    0086    PARA      NONE    'CODE'
  141.  
  142. Symbols:            
  143.  
  144.          N a m e              Type    Value    Attr         
  145.  
  146. INTR . . . . . . . . . . . . . .    F PROC    0000    INTRS    Global    Length 
  147.                    =0082
  148. INT_INS. . . . . . . . . . . . .    L NEAR     0047    INTRS
  149. REG_PACK_DS. . . . . . . . . . .    L WORD     0082    INTRS
  150. REG_PACK_OFF . . . . . . . . . .    L WORD     0084    INTRS
  151.  
  152. 49698 Bytes free   
  153.  
  154. Warning Severe
  155. Errors    Errors 
  156. 0    0
  157.